package org.upm;


/**
 * Clase que gestiona la poblacion de usuarios registrados en el sistema.
 * Una mejora sería que la clase obtuviera esta población a partir de una base de datos.
 *
 * @author Jonathan Gonzalez
 * @version 09/03/2009
 */
public class Poblacion {
	Tarifa movistar = new Tarifa("Tiempo Libre", "Movistar", 30, 8, 8, 30, 8, 8, 30, 8, 8, 35, 13, 13);
	Factura factura = new Factura();
	
	
	Usuario pedro = new Usuario("Pedro", "Hombre", 25 , "Movistar", movistar, factura);
    Usuario manuel = new Usuario("Manuel", "Hombre", 26 , "Movistar", movistar, factura);
    Usuario laura = new Usuario("Laura", "Mujer", 22 , "Orange", movistar, factura);
    Usuario lucia = new Usuario("Lucia", "Mujer", 5 , "Orange", movistar, factura);
    Usuario pablo = new Usuario("Pablo", "Hombre", 65 , "Vodafone", movistar, factura);
    Usuario adela = new Usuario("Adela", "Mujer", 69 , "Vodafone", movistar, factura);
    Usuario mario = new Usuario("Mario", "Hombre", 37 , "Yoigo", movistar, factura);
    Usuario rocio = new Usuario("Rocio", "Mujer", 22 , "Yoigo", movistar, factura);
    //Población del sistema

        //Población del sistema
    Object[] poblacion = { pedro, manuel, laura, lucia, pablo, adela, mario, rocio };

        /**
         * Constructor sin parámetros de la clase
         */
        Poblacion(){
        }

        /**
         * Método que devuelve la población de usuarios registrados en un sistema.
         *
         * @return Object[] poblacion - Poblacion de usuarios del sistema.
         */
        public Object[] damePoblacion(){
                return poblacion;
        }

        
   	/**
   	 * Método que devuelve el usuario con el nombre solicitado.
   	 * 
   	 * @return usuario - Usuario con el nombre solicitado
   	 */
   	public Usuario dameUsuario(String nombre){
   		for(int i = 0; i < poblacion.length; i++){	
   			Usuario tmp = (Usuario) poblacion[i];
   			if(tmp.getNombre().equals(nombre)){
   				return tmp;			
   			}
   		}
   		System.out.println("---- Usuario no encontrado ----");
   		return null;
   	}

}

